<html>
<head>
<title>TComb</title>
<link rel="stylesheet" type="text/css" href="../../avisynth.css">
<!--
Automatically generated, don't change:
$Id: tcomb.htm,v 1.1 2005/07/10 16:11:01 wilbertd Exp $ 
-->
</head>
<body>
<h1>TComb</h1>
<h2>Abstract</h2>
<b>author:</b>    tritical
<br><b>version:</b>         0.9.3<br>
<b>download:</b>   <a href="http://bengal.missouri.edu/~kes25c/">http://bengal.missouri.edu/~kes25c/</a>
<br><b>category:</b>  Broadcast Video Plugins
<br><b>requirements:</b>&nbsp;
<ul>
  <li>YV12 &amp; YUY2 Colorspace</li>
  <li>NTSC</li>
</ul>

<p><b>license:</b> GPL</p>

<hr size=2 width="100%" align=center>

<!-- #EndTemplate -->
<h2>Description</h2>
<p>      TComb is a temporal comb filter (it reduces cross-luminance (rainbowing) and cross-chrominance   (dot crawl) artifacts in static areas of the picture).  It will ONLY work with NTSC material, and   WILL NOT work with telecined material where the rainbowing/dotcrawl was introduced prior to the   telecine process!  In terms of what it does it is similar to guavacomb/dedot.</p>
<h3>Syntax</h3>
<p><code>TComb</code> (clip, int <var>&quot;hfThreshL</var>&quot;, int <var>&quot;hfThreshC</var>&quot;, int
<var>&quot;fCorrL&quot;</var>, int <var>&quot;fCorrC&quot;</var>, bool <var>&quot;edge&quot;</var>, int
<var>&quot;mode&quot;</var>, int <var>&quot;map&quot;</var>)</p>
<h3>PARAMETERS</h3>
<p><var>hfThreshL</var>/<var>hfThreshC</var> - (high frequency thresholds)</p>
<p>These settings are only used if "edge" is set to true.  They are the thresholds that are used
to create edge maps in luma/chroma that are then mapped from chroma->luma and luma->chroma to
identify areas where cross-luminance and cross-chrominance are likely to occur.  hfThreshL is
the threshold used when detecting edges in luma and hfThreshC is the threshold used to detect
edges in chroma. The only real reason for using "edge/hfThreshL/hfThreshC" is to reduce the
risk of artifacts (i.e. limit filtering to only high frequency areas).  However, better results
are usually produced with "edge" set to false and artifacts are usually rare unless you use
high fCorrL/fCorrC settings.&nbsp;</p>
<p>         **NOTE:  edges are detected on a low pass filtered version of the input image so lower                  thresholds should be used then on an ordinary edge map.  To see what areas are being<br>
                  detected use the "map" option.</p>
<p>**NOTE:  By default "edge" is set to false, so hfThreshL/hfThreshC are not used.</p>
<p>default: <var>hfThreshL</var> -> 5  (int)<br>
<var>hfThreshC</var> -> 4</p>
<p><var>fCorrL</var>/<var>fCorrC</var> - (filtered correlation thresholds)</p>
<p>TComb determines whether or not to use filtered values based the correlation of those filtered
values over the length of the kernel.  If all the values are within fCorrL (for luma) or fCorrC
(for chroma) then the filtered values will be used.  Larger values for fCorrL/fCorrC will mean&nbsp;
more pixels will be replaced with filtered values (will be more effective at removing rainbowing/dotcrawl), but it will create more artifacts.  Smaller values will produce less artifacts, but       will be less effective in removing rainbowing/dotcrawl. A good range of values is between 4 and 9.</p>
<p>default: <var>fCorrL</var> -> 7  (int)<br>
<var>fCorrC</var> -> 7</p>
<p><var>edge</var> - (limit filtering to high frequency areas)</p>
<p>If set to true, then filtering is only performed in edge regions identified via the hfThreshL
and hfThreshC parameters.  If set to false, filtering is performed on the entire image (much<br>
       faster, and usually better).</p>
<p>default:  false  (bool)</p>
<p><var>mode</var> - (limit processing to luma or chroma only)</p>
<p>Controls whether both luma/chroma are processed or only one or the other.  Possible settings:</p>
<p>0 - process both luma/chroma<br>
           1 - process luma only<br>
           2 - process chroma only</p>
<p>default:  0  (int)</p>
<p><var>map</var> -</p>
<p>Identifies areas of the frame that are detected as edges via hfThreshL/hfThreshC (option 1) or<br>
       identifies pixels that are being replaced with filtered values (option 2).  Possible settings:</p>
<p>0 - no map<br>
           1 - pixels thare are detected as edges via hfThreshL/hfThreshC will               be set to 255, pixels that aren't will be set to 0<br>
           2 - pixels that would be replaced with filtered values will be set to 255, pixels that wouldn't will be set to 0</p>
<p>default:  0  (int)</p>
<h2>Changelog</h2>
<p>   06/24/2005  v0.9.0<br>
- Initial Release</p>
<p><kbd>$Date: 2005/07/10 16:11:01 $</kbd>
</p>
</body>
</html>
